package org.lanqiao.db;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class DBTest {

	public static void main(String[] args) {
		/*
		 * 新建dynamic web project
		 * 连接数据库：将驱动jar引入项目，将数据库驱动jar拷入项目的WebContent/WEB-INF/lib下即可
		 * 
		 * 
		 */
		try {
			//1、注册驱动：需要使用数据库驱动类型、数据服务器访问地址、用户名、密码
			//数据库驱动类型
			String dbDriverType="oracle.jdbc.driver.OracleDriver";
			//数据服务器访问地址
			/*
			 * jdbc:oracle:thin:@127.0.0.1:1521:dbname
			 * 中：127.0.0.1表示数据库服务器在本机；也可以使用localhost替代；还可以ip地址、主机名
			 * 1521是Oracle客户端连接的监听端口；
			 * dbname是Oracle数据库的实例名，一般默认是实例名ORCL
			 */
			String dbURL="jdbc:oracle:thin:@127.0.0.1:1521:ORCL";
			//用户名
			String dbUser="tmm2017";
			//密码
			String dbPSW="oracle";
			//使用反射机制注册数据库服务驱动
			Class.forName(dbDriverType).newInstance();
			//2、获取数据连接对象：connection
			Connection conn=DriverManager.getConnection(dbURL,dbUser,dbPSW);
			//3、获取数据库操作对象：statement(preparedstatement)
			Statement st=conn.createStatement();
			//4、组织数据操作sql语句
			String strSql="select * from departments";
			//5、执行数据操作处理
			ResultSet rs=st.executeQuery(strSql);
			//6、根据数据操作结果进行业务逻辑处理
			//遍历结果集显示查询结果
			while(rs!=null&&rs.next()){
				//使用get方法获取字段内容
				System.out.println("第一列："+rs.getObject(1));
				System.out.println("DEPARTMENT_NAME:"+rs.getObject("DEPARTMENT_NAME"));
			}
			//7、关闭资源
			if(rs!=null){
				rs.close();
			}
			if(st!=null){
				st.close();
			}
			if(conn!=null){
				conn.close();
			}
		
		} catch (Exception e) {
			// 数据库连接处理异常
			System.out.println("Oracle-Jdbc:数据库连接异常");
			e.printStackTrace();
		}
		

	}

}
